Automatic translation of advertisements

ABSTRACT

In an embodiment of a messaging system, a method for presenting a commercial message to a user is provided. A target language in which the user is comfortable communicating may be determined based on at least one communication received by the user or at least one communication provided by the user. The commercial message may be presented to the user in the target language.

CROSS-REFERENCE TO RELATED APPLICATION

The application is a continuation of U.S. patent application Ser. No. 16/430,845, filed Jun. 4, 2019, which is a continuation of U.S. patent application Ser. No. 15/424,967, filed Feb. 6, 2017 (now U.S. Pat. No. 10,318,643), which is a continuation of U.S. patent application Ser. No. 14/564,671, filed Dec. 9, 2014 (now U.S. Pat. No. 9,563,624), which is a continuation of U.S. patent application Ser. No. 11/425,269, filed Jun. 20, 2006 (now U.S. Pat. No. 8,924,194), the contents of which are incorporated herein by reference in their entirety.

FIELD OF THE DISCLOSURE

The present invention relates to automatic language translation of advertisements or commercial messages from a source language to a target language, and in particular to methods, systems, and machine-readable media for use in a messaging system for determining a target language in which a user is comfortable communicating and presenting a commercial message in the target language to the user.

Advertisements are a huge revenue source for data network search companies and Internet service providers. Most data network search companies and Internet service providers are not sensitive to a user's native language and therefore, make no attempt to present advertisements or commercial messages to the user in a language in which the user is most comfortable.

Google of Mountain View, Calif., provides an email service which analyzes email in a user's inbox to determine which advertisements to target to the user. However, no attempt is made to translate the advertisements to a language that is most comfortable for the user.

SUMMARY OF THE INVENTION

Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth herein.

In a first aspect of the invention, a method for presenting a commercial message to a user is provided. A target language in which the user is comfortable communicating may be determined based on at least one communication received by the user or at least one communication provided by the user. The commercial message may be presented to the user in the target language.

In a second aspect of the invention, a machine-readable medium having stored thereon instructions for at least one processor may be provided. The machine-readable medium may include instructions for determining a target language in which the user is comfortable communicating based on at least one communication received by the user or at least one communication provided by the user via a communication system, and instructions for presenting a commercial message in the target language to the user.

In a third aspect of the invention, a communication system may be provided. The communication system may include a language selector to determine a target language in which the user is comfortable communicating based on at least one communication received by the user or at least one communication provided by the user, and a message presenter to present a commercial message in the target language to the user.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:

FIG. 1 illustrates an exemplary operating environment for a first embodiment of the invention;

FIG. 2 is a functional block diagram of an exemplary processing system which may be used in implementations consistent with principles of the invention;

FIG. 3 is a functional block diagram of an exemplary server consistent with the principles of the invention;

FIG. 4 is a flowchart of an exemplary process that may be performed in implementations consistent with the principles of the invention;

FIGS. 5 and 6 are flowcharts which provide more detail of certain aspects of the exemplary process illustrated by the flowchart of FIG. 4; and

FIGS. 7A and 7B are flowcharts of an exemplary process that may be performed when a user uses an embodiment of the invention to access messages.

DETAILED DESCRIPTION OF THE INVENTION

Various embodiments of the invention are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the invention.

Exemplary Operating Environment

FIG. 1 illustrates an exemplary operating environment 100 consistent with the principles of the invention. Operating environment 100 may include a number of processing devices 102, a telephone 104, a server 106 and a network 108. Although only two processing devices 102 are shown in FIG. 1, an operating environment 100 may include many more processing devices 112. Further, operating environment 100 may include 1 number of servers 106, instead of only one server 106, as shown in operating environment 100.

Each of processing devices 102 may be a device a user employs to access a communication system via a network and send and receive one or more communications to and from other users or a server, such as server 106. Telephone 104 may be, for example, a conventional telephone connected to a Public Switched Telephone Network (PSTN), or a wireless telephone, such as, for example, a cellular telephone or Personal Digital Assistant (PDA) with cellular telephonic capability connected to a mobile telephone network. Server 106 may be a server for providing communication services, such an email, instant messaging, voicemail, or other communication services or may be a server for providing services, such as search engine services.

Network 108 may be a wired or wireless network and may include a number of devices connected via wired or wireless means. Network 108 may include only one network or a number of different networks, some of which may be networks of different types. Network 108 may include, for example, a Local Area Network (LAN), a Wide Area Network (WAN), a packet switching network, an ATM network, a Frame Relay network, an Ethernet network, a fiber-optic network, a Public Switched Telephone Network (PSTN), a mobile telephone network, the Internet, or other types of network.

FIG. 2 illustrates an exemplary processing system 200 which may be used to implement processing devices 102, telephone 104 and/or server 106. Processing system 200 may include a bus 210, a processor 220, a memory 230, a read only memory (ROM) 240, a storage device 250, an input device 260, an output device 270, and a communication interface 280. Bus 210 may permit communication among the components of processing system 200.

Processor 220 may include at least one conventional processor or microprocessor that interprets and executes instructions. Memory 230 may be a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor 220. Memory 230 may also store temporary variables or other intermediate information used during execution of instructions by processor 220. ROM 240 may include a conventional ROM device or another type of static storage device that stores static information and instructions for processor 220. Storage device 250 may include any type of media, such as, for example, magnetic or optical recording media and its corresponding drive.

Input device 260 may include one or more conventional mechanisms that permit a user to input information to system 200, such as a keyboard, a mouse, a pen, a voice recognition device, a microphone, a headset, etc. Output device 270 may include one or more conventional mechanisms that output information to the user, including a display, a printer, one or more speakers, a headset, an earphone, or a medium, such as a memory, or a magnetic or optical disk and a corresponding disk drive. Communication interface 280 may include any transceiver-like mechanism that enables processing device 200 to communicate via a network. For example, communication interface 280 may include a modem, or an Ethernet interface for communicating via a local area network (LAN). Alternatively, communication interface 280 may include other mechanisms for communicating with other devices and/or systems via wired, wireless or optical connections.

Processing system 200 may perform such functions in response to processor 220 executing sequences of instructions contained in a computer-readable medium, such as, for example, memory 230, a magnetic disk, or an optical disk. Such instructions may be read into memory 230 from another computer-readable medium, such as storage device 250, or from a separate device via communication interface 280.

Processing system 200 may be, for example, a personal computer (PC), a Personal Digital Assistant (PDA) or any other type of processing device. In alternative implementations, such as, for example, a distributed processing implementation, a group of processing devices 200 may communicate with one another via a network such that various processors may perform operations pertaining to different aspects of the particular implementation.

Exemplary Embodiments

FIG. 3 illustrates a functional block diagram of server 106 (FIG. 1). Server 106 may include an inbox 302, a sent box 304, a content analyzer 306, a language selector 308, a message retriever 310, a commercial message database 312, a translator 314, and a message presenter 316.

Inbox 302 and sent box 304 may be a user's exemplary communication folders, which may be stored on server 106. Inbox 302 and sent box 304 may be exemplary communication folders for holding received and sent communications, respectively. Other communication folders may also be stored on server 106, some of which may be communication folders created and named by a user.

Content Analyzer 306 may analyze words and distributions of words in user communication folders, such as, for example, inbox 302 and sent box 304, to determine one or more subjects that may be of interest to a user.

Language selector 308 may analyze words in user communication folders, such as inbox 302 an sent box 304, to determine a language of messages in the user communication folders and to select a language in which the user is comfortable conversing, such as, English, French, Spanish, or another language.

Message retriever 310 may retrieve one or more commercial messages from commercial message database 312, based on one or more subjects of interest to the user, as may be determined by content analyzer 306. Commercial message database 312 may be a database of commercial messages that may be indexed by subject matter and a language of each commercial message.

Translator 314 may translate a language from a source language to a target language. U.S. patent application Ser. No. 10/058,995, filed in the U.S. Patent and Trademark Office on Jan. 30, 2002, discloses a method, which may be used with implementations of the invention, for translating a source language to a target language. U.S. patent application Ser. No. 10/058,995 is incorporated by reference herein in its entirety.

Message presenter 316 may present one or more commercial messages to the user. Message presenter may include a speech generator to generate speech in a language in which the user is comfortable conversing. Other implementations of message presenter 316 may generate text in the language in which the user is comfortable conversing.

Exemplary Processing

FIG. 4 illustrates exemplary processing which may be performed in implementations consistent with the principles of the invention. The processing may begin with language selector 306 of server 106 analyzing words in a user's communication folders, such as, for example, inbox 302, sent box 304, or other communication folders to determine a target language in which the user is comfortable conversing (act 402). Content analyzer 306 may then analyze a word content of the user's communications in the communication folders to determine one or more subjects of interest of the user (act 404). Data with respect to the user's one or more subjects of interest and the target language in which the user is comfortable conversing may be stored in storage on server 106 for later use (act 406). This process may be repeated periodically, such as, monthly, weekly, or some other time period.

Further, in other implementations, language selection and communication content analysis may be performed periodically, but statistics may be combined with statistics gathered during a previous X executions of acts 402 through 406. In such an implementation, for example, each subsequent execution may take into account previously calculated communication statistics with respect to language and content from the previous X periodic executions of acts 402 through 406. Of course, numerous other methods may be performed in other implementations consistent with the subject matter of this disclosure.

FIG. 5 is a flowchart which illustrates, in more detail, act 402 of the flowchart of FIG. 4. Language selector 308 of server 106 may determine a language of each message in communication folders, such as communication folder inbox 302, sent box 304, or other communication folders (act 502). Any well-known method may be used to determine a language of each communication in the message folders. Next, language selector 308 may determine which language is most used by the user (act 504). Language selector 108 may make this determination by counting a number of communications of each language in the user's communication folders and by calculating a percentage of total communications in the communication folders that are in each language. Language selector 308 may then select the language (for which translation capabilities exist) having a highest calculated percentage of communications and may determine whether the calculated percentage is greater than a threshold (act 506). If the calculated percentage is greater than a threshold, such as, for example, 50% or other value, then language selector 308 may set the target language to be the language having the highest calculated percentage (act 508).

If the calculated percentage of communications in the language is not greater than the threshold, then a default language may be selected, such as, for example, English, French or another language (act 510).

The above illustrated process is exemplary. Any one of a number of methods may be used to select a target language for a user in other implementations. For example, in one implementation, if no one language (for which translation capabilities exist) has a calculated percentage of communications that is greater than the threshold, then language selector 308 may set the target language to be any one of the languages (for which translation capabilities exist) used in communications in communication folders having a higher or equal percentage of communications than communications of other languages.

FIG. 6 is a flowchart which illustrates act 404 of the flowchart of FIG. 4 in more detail. First, content analyzer 306 of server 106 may look for keywords or phrases appearing in communications in the user's communication folders (act 602). If the keywords or phrases appear numerous times in communications in the communication folders, content analyzer 306 may compare the keywords or phrases to a subject matter index of commercial messages in commercial database 312 (act 604). One or more subject matters may be selected from the subject matter index based on matching keywords or phrases and may be saved (act 606).

FIGS. 7A and 7B are flowcharts that illustrate an exemplary process in which a user may be presented with one or more commercial messages in a language whose use is comfortable for the user. The process may begin with a user at a processing device 102 or telephone 104 accessing a system, such as, for example, an e-mail system or other system on server 106 via a network, such as, for example, network 108 (act 702). Next, in some embodiments the user may be requested to provide authenticating information, such as, for example, a user ID and password (act 704). The user may enter the authenticating information via processing device 102 or telephone 104 (act 706). Server 106 may then determine whether the user is properly authenticated (act 708). If the user is not properly authenticated, then server 106 may increment an access attempt counter (act 710) and may determine whether a maximum number of attempts to be authenticated have been made by the user (act 712). If a maximum number of attempts to be authenticated have been made, then server 106 may force the user off the system (act 714). Otherwise, server 106 may again repeat acts 704 through 708 to provide the user with another opportunity to be properly authenticated.

Once the user is properly authenticated, message retriever 310 of server 106 may access the previously saved data regarding one or more subjects of interest of the user and a target language of the user (act 716). Message retriever 310 may then search commercial message database 312 for commercial messages of interest to the user (act 718; FIG. 7B). In some implementations, a subject matter index with respect to the commercial messages in commercial message database 312 may be accessed to find commercial messages related to the one or more subject matters of interest to the user. Assuming that commercial messages related to the one or more subject matters of interest exist, message retriever 310 may then retrieve one or more of the commercial messages related to the one or more subject matters of interest provided that either the one or more commercial messages are already in the target language or translator 314 is capable of translating the one or more commercial messages from a source language to the target language (act 720).

Next, translator 314 of server 106 may determine whether any of the one or more commercial messages are in the target language (act 722). Ones of the commercial messages that are not in the target language may be translated by translator 314 to the target language (act 724). Message presenter 316 may then prepare the one or more commercial messages for presentation to the user (act 726). For some users of processing device 102 and for users connected to the system through a device such as telephone 104, message presenter 316 may prepare the one or more commercial messages for verbal presentation. That is, message presenter 316 may perform speech generation in the target language to present the one or more commercial messages to the user. For other users, message presenter 316 may prepare a commercial textual message in the target language for presentation to the user. Such a textual message may be displayed on a portion of a display screen while the user reviews his or her messages.

Next, the user may be presented with received communications (act 728) and may send communications to (act 730).

Conclusion

The above-described embodiments are exemplary and are not limiting with respect to the scope of the invention. Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.

Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.

Those of skill in the art will appreciate that other embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. Further, in other implementations, hardwired logic may be used instead of processors, or one or more application specific integrated circuits (ASICs) may be used in implementations consistent with the principles of the invention. In addition, implementations consistent with the principles of the invention may have more or fewer acts than as described, or may implement acts in a different order than as shown. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given. 

What is claimed is:
 1. A device comprising: a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising: identifying a group of languages used in a group of messages for a first user; determining a first language of the group of languages that is utilized above a threshold in the group of messages; detecting that there is no translation capability for the first language; determining a second language of the group of languages that is utilized above the threshold in the group of messages; detecting that there is translation capability for the second language; identifying a target language comprising the second language based on no translation capability for the first language and the translation capability for the second language; obtaining a commercial message in a source language that is distinct from the target language; translating the commercial message in the source language to a translated message in the target language; and transmitting the translated message to a communication device associated with the first user.
 2. The device of claim 1, wherein the operations comprise gathering data from communication interactions between the first user and a second user to yield statistical data.
 3. The device of claim 2, wherein the threshold comprises a percentage of the communication interactions are in a particular language, wherein when a number of communication interactions exceeds the percentage of the communication interactions in the particular language and that there is the translation capability for the particular language, the target language is identified as the particular language.
 4. The device of claim 2, wherein the identifying of the group of languages comprises identifying the group of languages from the statistical data.
 5. The device of claim 2, wherein the communication interactions comprise the group of messages.
 6. The device of claim 1, wherein the threshold comprises a word threshold, wherein the determining of the first language is utilized above the threshold comprises determining the first language is utilized above the word threshold.
 7. The device of claim 6, wherein the determining of the second language is utilized above the threshold comprises determining the second language is utilized above the word threshold.
 8. The device of claim 1, wherein the operations comprise: analyzing words in the group of messages to determine a subject matter of interest to a first user; and determining to translate the commercial message based on the subject matter of interest.
 9. The device of claim 1, wherein the transmitting the translated message to the communication device further comprises: generating speech corresponding to the translated message; and transmitting the speech to the communication device as part of the transmitting of the translated message.
 10. A non-transitory computer-readable storage device having instructions stored which, when executed by a processing system including a processor, cause the processing system to perform operations comprising: identifying a group of languages used in a group of messages for a first user; analyzing words of the group of messages resulting in an analysis; determining a first language of the group of languages that is utilized above a word threshold in the group of messages based on the analysis; detecting that there is no translation capability for the first language; determining a second language of the group of languages that is utilized above the word threshold in the group of messages based on the analysis; detecting that there is translation capability for the second language; identifying a target language comprising the second language based on no translation capability for the first language and the translation capability for the second language; obtaining a commercial message in a source language that is distinct from the target language; translating the commercial message in the source language to a translated message in the target language; and transmitting the translated message to a communication device associated with the first user.
 11. The non-transitory computer-readable storage device of claim 10, wherein the operations comprise gathering data from communication interactions between the first user and a second user to yield statistical data.
 12. The non-transitory computer-readable storage device of claim 11, wherein the identifying of the group of languages comprises identifying the group of languages from the statistical data.
 13. The non-transitory computer-readable storage device of claim 11, wherein the communication interactions comprise the group of messages.
 14. The non-transitory computer-readable storage device of claim 10, wherein the operations comprise: analyzing the words in the group of messages to determine a subject matter of interest to a first user; and determining to translate the commercial message based on the subject matter of interest.
 15. The non-transitory computer-readable storage device of claim 10, wherein the transmitting the translated message to the communication device further comprises: generating speech corresponding to the translated message; and transmitting the speech to the communication device as part of the transmitting of the translated message.
 16. A method comprising: gathering, by a processing system including a processor, data from communication interactions between a first user and a second user; identifying, by the processing system, a group of languages used in a group of messages for the first user, wherein the communication interactions comprise the group of messages; determining, by the processing system, a first language of the group of languages that is utilized above a percentage of the communication interactions; detecting, by the processing system, that there is no translation capability for the first language; determining, by the processing system, a second language of the group of languages that is utilized above the percentage of the communication interactions; detecting, by the processing system, that there is translation capability for the second language; identifying, by the processing system, a target language comprising the second language based on no translation capability for the first language and the translation capability for the second language; obtaining, by the processing system, a commercial message in a source language that is distinct from the target language; translating, by the processing system, the commercial message in the source language to a translated message in the target language; and transmitting, by the processing system, the translated message to a communication device associated with the first user.
 17. The method of claim 16, wherein the gathering of the data comprises gathering, by the processing system, the data from communication interactions between the first user and the second user to yield statistical data.
 18. The method of claim 17, wherein the identifying of the group of languages comprises identifying, by the processing system, the group of languages from the statistical data.
 19. The method of claim 16, comprising: analyzing, by the processing system, words in the group of messages to determine a subject matter of interest to the first user; and determining, by the processing system, to translate the commercial message based on the subject matter of interest.
 20. The method of claim 16, wherein the transmitting the translated message to the communication device further comprises: generating, by the processing system, speech corresponding to the translated message; and transmitting, by the processing system, the speech to the communication device as part of the transmitting of the translated message. 